from tortoise.models import Model
from tortoise import fields
from pydantic import BaseModel, Field
from typing import Optional


# Tortoise-ORM 模型
class Content(Model):
    content_id = fields.IntField(pk=True)  # 内容ID（主键）
    content_name = fields.CharField(max_length=255)  # 内容名称
    content_url = fields.CharField(max_length=512)  # 内容访问路径

    # 多对一关系：多个内容属于一个课程
    course = fields.ForeignKeyField(
        "models.Class",  # 关联Class模型
        related_name="contents",  # 反向查询名称
        on_delete=fields.CASCADE  # 级联删除
    )

    class Meta:
        table = "contents"


# ---------- Pydantic 模型 ----------


    class Config:

        from_attributes = True